Перейти к основному содержимому

4.14. Как создать свою библиотеку

Разработчику Архитектору Инженеру

Как создать свою библиотеку

Библиотеки и пакеты, которые используются через import, using, require – это просто код других разработчиков, оформленный особым образом и загруженный в специальные хранилища. Любой может сделать такой же!

  1. Сначала нужна задумка – «зачем нужна библиотека?». Библиотекка должна решать одну конкретную задачу, должна быть независимой от других частей проекта, и должна помочь другим легко подключить её и использовать. Пример – нужно написать функцию, которая из любого текста делает URL-дружелюбный «privet-mir».
  2. Написать код – причём, не нужно писать всё сразу, главное – сосредоточиться на одной простой задаче, и такой код проще будет тестировать, развивать, делиться им.
  3. Оформить код как библиотеку. Важно добавить описание, версию, автора и лицензию, а также подготовить хороший файл README (текстовый документ, который помогает другим понять, зачем нужен пакет).
    • C# - Class Library (.dll);
    • Java (Maven) – JAR-файл;
    • Python – модуль или пакет (папка+init.py);
    • JS (npm) – NPM-пакет (js-файл + package.json).
  4. Упаковать библиотеку, подготовив один или несколько файлов, которые можно загрузить в репозиторий:
    • C# - dotnet pack;
    • Java (Maven) – mvn package;
    • Python – setuptools, wheel;
    • JS (npm) – npm pack.
  5. Создать аккаунт в репозитории:
    • C# - NuGet.org;
    • Java (Maven) – Maven Central;
    • Python – PyPi;
    • JS (npm) – npmjs.com.

Как правило, регистрация бесплатна, и сделать это несложно, потребуется лишь почта, логин, пароль, а иногда – верификация.

  1. Загрузить пакет, используя веб-интерфейс или CLI:

Можно задать версию (1.0.0) и потом выпускать обновления.

  1. Написать документацию и рассказать миру, добавив ссылку в GitHub/GitLab, поделиться на форумах, в соцсетях, блогах. Самое главное в этом шаге – получение фидбеков и баг-репортов, а также идей.

Важно: лицензии определяют, что можно сделать с библиотекой:

  • MIT – свободное использование в любых целях;
  • Apache 2.0 – с условиями;
  • GPL – всё, что использует код, тоже должно быть открытым.

В проект нужно будет добавить файл LICENSE.